This invention pertains to convolutional encoders and VITERBI decoders which reduce the number of bit errors in data communication systems having noisy links and, more particularly, to a state metric memory arrangement for reducing the amount of memory and the number of clock cycles required for VITERBI decoders.
Noise poses a problem for the electronic transmission of data via modern data transmission equipment. Convolutional encoders and VITERBI decoders reduce the bit error rate of transmission links due to noise. Transmission link quality (bit error rate) is equal to the energy per bit divided by the noise density.
Convolutional encoders translate each data bit into a number of symbols which are transmitted via the transmission link. At the receiving end of the transmission link, a decoder, such as a VITERBI decoder, recreates the data by decoding the symbols which describe each data bit. The greater the number of symbols used to describe each bit, the less the resulting bit error rate will be. The VITERBI decoder attempts to match strings of symbols received via the transmission link with predefined strings of symbols in order to detect the data being transmitted.
VITERBI decoders operate by keeping track of several hypothetical sequences of bits. For each possible state of the encoder, a sequence of bits is kept which would result in the encoder ending in that state. A state metric is also kept for each sequence of bits which indicates how closely the received sequence of symbols matches the sequence of bits. Memory elements are required to store the state metric because these metrics are updated as each new set of symbols is received.
Hundreds of memory locations are required for the storage of these state metrics. In satellite communications, the physical size and power consumption of communications devices are of paramount importance.
Two types of decoders are common. In parallel decoders, all state metrics are calculated during a single clock cycle using one add-compare-select (ACS) circuit for each state. Serial decoders use fewer ACS circuits to calculate new state metrics during several clock cycles. Previous serial decoders used "ping-pong" state metric memories (one memory for old state metrics and another memory for new state metrics).
A convolutional decoder manufactured by TRW uses fully duplicated state (path) metric memory.
VITERBI decoder part number STI 5268 manufactured by Stanford Telecommunications, Inc. requires external memory with locations for both previous and current state metrics.
Accordingly, it is an object of the present invention to provide a state metric memory arrangement for a serial decoder which reduces the amount of memory required for state metrics and correspondingly reduces the amount of power consumption for a VITERBI decoder.